package File;

import java.io.File;
import java.util.Scanner;

/**
 * 实现递归遍历文件，并且询问是否删除
 */
public class TestDemo4 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入要扫描的根目录（绝对路径 OR 相对路径): ");
        String rootDirPath=scanner.next();
        File rootDir=new File(rootDirPath);
        if(!rootDir.exists()){
            System.out.println("您输入的路径不存在!");
            return;
        }
        System.out.println("请输入您要删除的文件名(或者文件名的一部分)");
        String deleteName=scanner.next();
        //开始执行递归扫描目录
        scanDir(rootDir,deleteName);
    }
    public static void scanDir(File rootDir,String deleteName){
        //扫描目录
        File[] files=rootDir.listFiles();
        if(files==null) {
            return;
        }
        for (File dir:files){
            //然后到这里就判断它到底是不是目录了
            if(dir.isDirectory()){
                //如果是目录就继续递归下去
                scanDir(dir,deleteName);
            }else{
                //如果是文件则执行判断是不是要删除的文件
                tryDelete(dir,deleteName);
            }
        }
    }
    public static void tryDelete(File dir,String deleteName){
        if(dir.getName().contains(deleteName)){
            System.out.println("请确定要删除该文件(Y/N)："+dir.getAbsolutePath());
            Scanner scanner=new Scanner(System.in);
            String choice=scanner.next();
            if(choice.equals("Y")){
                dir.delete();
            }
        }
    }
}
